package com.xiaomengkuan.user.service;

import com.xiaomengkuan.common.entity.vo.PageVo;
import com.xiaomengkuan.common.util.R;
import com.xiaomengkuan.user.entity.vo.UserResponseVo;

import java.util.Map;

/**
 * @author Faraj Mujey
 * -- Creation Time: 2021-01-25 11:04 下午, File Encoding: utf8 --
 */
public interface UserService {

    /**
     * 用户名密码登陆接口
     *
     * @param requestBody 用户名、密码
     * @return UserResponseVo
     */
    UserResponseVo passwordLogin(Map<String, Object> requestBody);

    /**
     * 手机号登陆接口
     *
     * @param requestBody 手机号、验证码
     * @return UserResponseVo
     */
    UserResponseVo phoneLogin(Map<String, Object> requestBody);

    /**
     * 修改用户信息
     *
     * @param requestBody 用户信息
     * @return 是否修改成功
     */
    boolean modifyInfo(Map<String, Object> requestBody);

    /**
     * 获取用户信息
     *
     * @param id 用户id
     * @return UserResponseVo
     */
    UserResponseVo getInfo(String id);

    /**
     * 修改密码
     *
     * @param requestBody 用户、密码、新密码
     * @return 是否修改成功
     */
    boolean modifyPwd(Map<String, Object> requestBody);

    /**
     * 分页查询用户 每页10条记录
     *
     * @param current 当前页
     * @return UserPageVo
     */
    PageVo<UserResponseVo> page(int current);

    boolean isExist(String id);

    R checkPhone(String phone);

    String newUser(Map<String, Object> requestBody);

}
